package com.ruoyi.rsikManage.domain;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class AlarmEvent extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * @description t_alarms
     * @author ysgj
     * @updeDate 24-10-21
     * 新增权限管理v1
     */

    private Long idId;
    /*
     * 单位编号
     * */
    private Long unitCode;

    /*
     * 单位名称
     */
    private String unitName;
    /**
     * 报警级别
     */
    private String alarmLevel;

    /**
     * 报警时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date alarmTime;

    /**
     * 报警类型
     */
    private String alarmType;

    /**
     * 报警类型名称
     */
    private String alarmTypeName;

    /**
     * 设备id
     */
    private String deviceId;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * id
     */
    private Long id;

    /**
     * 组织名称
     */
    private String orgName;

    /*
     * 索引
     * */
    private String orgIndex;


    /**
     * 事件类型
     */
    private String eventType;

    /**
     * 事件id
     */
    private String eventId;

    /**
     * 审批状态
     */
    private String approve;

    /**
     * 审批意见
     */
    private String opinion;

    /**
     * 处理时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date handleTime;

    /**
     * 视频时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date videoTime;
    /**
     * 图片url
     */
    private String pictureUrl;

    /*
     * 报警地点
     * */
    private String alarmLocation;

    /*
     * 解除报警时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date contactAlarmTime;

    /*
     * 处理开始时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date processingStartTime;

    /*
     * 处理预计结束时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date processingEndTime;

    /*
     * 报警设备
     * */
    private String alarmDevice;

    /*
     * 报警提示方式
     * */
    private String alarmPromptMode;

    /*
     *报警提示音
     * */
    private String alarmTone;
    /*
     * 报警原因
     * */
    private String alarmReason;

    /*
     *报警处置信息
     * */
    private String alarmDisposalInfo;

    /*
     * 处置反馈信息
     * */
    private String disposalFeedbackInfo;
    /*
     * 删除标志
     * */
    private String delFlag;

    /*
     * 开始时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /*
     * 结束时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /*
     * 处置状态
     * */
    private String handelStatus;

    /*
     * 需要过滤的id集合
     * */
    private List<String> list;
    /*
     * 复杂的标志 ...
     * */
    private String eventFlag;
    // 转换后的url
    private String httpUrl;

    private Integer alarmSendingMark;

    private String rtsp;

    private String playBackUrl;

    private String filter;
    /*
    区域名称-电子围栏
     */
    private String areaName;
    /*
    区域名称-电子围栏
     */
    private String areaId;

    /*
   区域名称-电子围栏
    */
    private String IP;

    /*
    识别视频代理路径
    */

    /** 新代理路径 */
    @Excel(name = "新代理路径")
    private String videoNewProxyPath;


    /** 状态持续时间 秒数 */
    @Excel(name = "状态持续时间 秒数")
    private Integer durationSeconds;

    /** 状态持续时间 */
    @Excel(name = "状态持续时间")
    private String durationSecondsStr;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "状态变更开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime statusStartDatetime;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "状态变更结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime statusEndDatetime;

}


